Sensor based interface adjustment

ABSTRACT

A method includes sensing a hand position on a mobile device via sensors on the mobile device, providing information identifying the sensed hand position to a processor of the mobile device, identifying a position of a user interface on a touch screen display of the mobile device responsive to the information identifying the sensed hand position using the processor of the mobile device, and adjusting a user interface display position on the mobile device to the identified position using the processor of the mobile device.

BACKGROUND

User interfaces for mobile devices are generally fixed in position on adisplay screen of the mobile device. Some devices may change theorientation of the interface being displayed corresponding to theorientation of the device, such as between a landscape and a portraitorientation.

SUMMARY

A method includes sensing a hand position on a mobile device via sensorson the mobile device, providing information identifying the sensed handposition to a processor of the mobile device, identifying a position ofa user interface on a touch screen display of the mobile deviceresponsive to the information identifying the sensed hand position usingthe processor of the mobile device, and adjusting a user interfacedisplay position on the mobile device to the identified position usingthe processor of the mobile device.

A further method includes periodically sensing user hand positions on amobile device having a touch screen display while the user is holdingthe mobile device, generating a heat map indicative of frequency of handpositions for each application executing on the mobile device,identifying a user interface element for an application currentlyexecuting on the mobile device, and adjusting a position of the userinterface element of the currently executing application on the touchscreen responsive to the heat map for the currently executingapplication.

A mobile computing device including a processor, a sensor arraysupported by the mobile computing device, the sensor array positioned tosense hand positions on the mobile computing device by a user using thedevice, and a memory device coupled to the processor and havinginstructions stored thereon. The instructions are executable by theprocessor to receive information identifying the sensed hand positionsfrom the sensor array, identify an adjusted position of a user interfaceon a touch screen display of the mobile device responsive to theinformation identifying the sensed hand positions, and move a userinterface display position on the mobile device to the identifiedadjusted position.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a perspective view of a hand held device having positionsensing circuits according to an example embodiment.

FIG. 2A is a block diagram depiction of a user holding a mobile devicevia a left hand on a left side of the mobile device according to anexample embodiment.

FIG. 2B is a block diagram depiction of the user holding the mobiledevice and adjusted interface element corresponding to a finger positionaccording to an example embodiment.

FIG. 2C is a block diagram depiction of the mobile device in camera modewith a landscape orientation and a user interface element pre-positionedproximate a holding position of the mobile device according to anexample embodiment.

FIG. 3 is a flowchart illustrating a method performed by the processorto adjust a user interface element responsive to how a device is beingheld according to an example embodiment.

FIG. 4A is a block diagram depiction of a user holding a mobile devicethat is displaying text according to an example embodiment.

FIG. 4B is a block diagram depiction of a user holding a mobile devicethat is displaying text with adjusted user interface elements accordingto an example embodiment.

FIGS. 5A, 5B, and 5C are block diagram representations of a device beingheld by a single hand at different positions and a user interfaceelement position adjusted along with the hand positions according to anexample embodiment.

FIG. 6 is a block diagram representation of a device showing heat mapscorresponding to historical holding patterns according to an exampleembodiment.

FIG. 7A illustrates heat maps for a device held in portrait orientationas opposed to the landscape orientation according to an exampleembodiment.

FIG. 7B illustrates example user interface elements positioned near themost likely holding positions by the left and right hands as calculatedfrom the heat maps of FIG. 7A according to an example embodiment.

FIG. 8A illustrates different types of heat maps that are based onattempted selections of the user interface elements according to anexample embodiment.

FIG. 8B illustrates an adjusted position of one or more of the interfaceelements based on the heat maps of FIG. 8A according to an exampleembodiment.

FIG. 9 is a table illustrating one example data structure stored on acomputer readable storage device for use by a processor to adjust userinterface elements responsive to sensed hand positions according to anexample embodiment.

FIG. 10 is a flowchart illustrating a method of adjusting user interfaceelement positions based on heat maps according to an example embodiment.

FIG. 11 is an example of mobile device circuitry for performing methodsaccording to example embodiments.

DETAILED DESCRIPTION

In the following description, reference is made to the accompanyingdrawings that form a part hereof, and in which is shown by way ofillustration specific embodiments which may be practiced. Theseembodiments are described in sufficient detail to enable those skilledin the art to practice the invention, and it is to be understood thatother embodiments may be utilized and that structural, logical andelectrical changes may be made without departing from the scope of thepresent invention. The following description of example embodiments is,therefore, not to be taken in a limited sense, and the scope of thepresent invention is defined by the appended claims.

The functions or algorithms described herein may be implemented insoftware in one embodiment. The software may consist of computerexecutable instructions stored on computer readable media or computerreadable storage device such as one or more non-transitory memories orother type of hardware based storage devices, either local or networked.Further, such functions correspond to modules, which may be software,hardware, firmware or any combination thereof. Multiple functions may beperformed in one or more modules as desired, and the embodimentsdescribed are merely examples. The software may be executed on a digitalsignal processor, ASIC, microprocessor, or other type of processoroperating on a computer system, such as a personal computer, server orother computer system, turning such computer system into a specificallyprogrammed machine.

Current mobile interface designs have static locations for virtualbuttons and controls. Such static locations may become difficult toreach when the devices are held by one hand of a user. Many times, usersstrain their hands to reach a virtual button or control, or may beforced to user a second hand to make a selection. The problem may beexacerbated when the mobile devices are larger, such as tablet orphablet, where the virtual buttons or control may be unreachable by thehand holding the device.

User interface elements may be repositioned on a touchscreen display ofa mobile device responsive to sensed data representative of handposition on the mobile device. Sensors may be disposed about the mobiledevice to detect hand position on the mobile device. Touchscreen sensorsmay also be used to detect and provide sensed data regarding handposition and attempts to reach user interface elements. The sensed datamay be used to move user interface elements, such as buttons and menuscloser to the hand holding the mobile device, making one handed deviceuse more convenient. The interface elements may also be modified tochange active touch zones to result in a more accurate touch in order toselect the interface elements.

In further embodiments, the repositioning of interface elements may bebased on a history of sensed hand positions for each application thatruns on the mobile device. If a user normally holds a device with onehand in a camera mode or application, a button to cause a picture to becaptured may be repositioned proximate where the user normally holds themobile device in camera mode responsive to entering camera moderegardless of where the user is holding the device prior to enteringcamera mode. Similarly, a history of the user holding the mobile devicewith one hand when reading text or in a particular application may beused to position one or more text navigation buttons, such as page upand page down, proximate the position where the user holds the mobiledevice responsive to text being displayed on the mobile device. Thehistory of holding the mobile device may be referred to as heat maps,and may reflect holding by one or both hands and repositioning userinterface elements accordingly for use by one or both hands.

FIG. 1 is a perspective view of a hand held device 100, such a mobilephone having position sensing circuits (e.g. resistive and capacitivesensors), piezoelectric materials or other position or pressure-sensingsolutions supported by the hand held device. The sensing circuits may beembedded in or layered on top of a handheld device like a smartphone,smart watch or other hand held electronic device. The sensing technologymay be positioned within a housing 103 such that one or more sides ofthe device, including a touch screen 105 side have pressing sensingcapability and proximity sensing capability to indicate position of afinger which may be used for selecting a user interface element orelements which may be displayed on the touchscreen 105. Touch screen 105may also include magnetic field disruption detection sensors capable ofdetecting a position of a finger proximate the touch screen and adistance of a finger or selection device from the screen.

In various embodiments, the term finger may also include an arm, pen orpointing device, knuckle, hand, and other body parts or objects. A usermay be reaching over a table-top personal computer, in which case, theirarm would be detected. A pen may be detected in a user's hand, or if ahand is dirty, the user may use a knuckle to make a selection. Contactmechanics applied to the device may also be detected. As a result, thesensing capability can detect fully where a user's fingers and hand aregripping the device 100.

Device 100 may also have pressure sensing capability on left and rightsides, and a rear housing 110. An array of sensors 115, such asresistive and/or capacitive sensors, are represented as dots coveringthe device 100. The use of capacitive based sensors allows proximitydetection of fingers positioned over the touch screen 105, allowingdetection of a user's non-holding hand which may be used for selectionof a user interface element. Note that while only a few sensors 115 areshown on screen 105 for an uncluttered view, the entire surface ofscreen 105 may be covered by sensors to enable position and distancedetection in various embodiments. The user interface element may be alink or icon, menu, or other user selectable element. In one embodiment,the housing 103 in the case of the hand held device supporting interiorelectronics, buttons, and touch screen on a front side of the device 100not visible in FIG. 1. In further embodiments, the housing 103 may takethe form of an external case that is shaped to hold the device 100 andconnect via one or more electrical connectors.

A side 120 of the housing 103 corresponds to an edge of the housing 103,and may also have sensors 125 embedded, layers on top of, or otherwisedisposed on the side 120. Sensors 125 may also be similarly disposed onother sides of the housing 103. The sensors 115 and 125 may havepressing sensing capability to indicate contact mechanics applied to thedevice 100. As a result, this sensing capability can detect fully wherea user's fingers and hand are gripping the device.

In one embodiment, a camera 130 may be disposed on a front of the device100 containing the touch screen 105. The camera may provide images whichmay be processed via image analytics, allowing the detection of wherefingers are positioned within a wide angle view of the camera. Multiplecameras 135, 140, 145 may be used in further embodiments and positionednear the sides and bottom of the device outside the touchscreen 105, oralternatively within the touchscreen area in further embodiments. Thus,finger position which may be used to select a user interface element onthe touch screen 105 may be detected using cameras, the proximitysensors, or a combination of both.

FIG. 2A is a block diagram depiction of a user holding a mobile device200 via a left hand 210 on a left side 215 of the mobile device 200. Themobile device 200 is being held by the left hand 210 and has a touchscreen display 220 which is oriented in landscape mode. In thisembodiment, the mobile device 200 is a tablet type device, but may alsobe any type of mobile device having a touch screen interface. A userinterface element 225 is illustrated on a right side of the display 220which may be selected by a finger 230 of a right hand 235 of the user.

FIG. 2B is a block diagram depiction of the user holding the mobiledevice 200 as in FIG. 2A. The reference numbers are the same as in FIG.2B for like elements. In FIG. 2B, the user's finger 230 has movedtowards a middle of the touch screen 220 indicated at 240. The hand 210position has been sensed by the array of sensors 115, and the user'sfinger 230 position has also been sensed. The sensed information hasbeen provided to the mobile device processor and used to determine thatthe user interface element 225 should be moved corresponding to thedetected position of the finger, which is the likely implement to beused to select the user interface element 225 to cause a picture to betaken. In some embodiment, the mode or application being used is alsoconsidered by the processor in determining a convenient position for theuser interface element giving the holding position and finger position.In this embodiment, the user interface element is a camera button thathas slid or been adjusted or otherwise moved to the nearest finger,which may be positioned above the display and simply moved to touch thedisplay and hence the camera button to cause the picture to be captured.

FIG. 2C is a block diagram depiction of the mobile device in camera modewith a landscape orientation and a user interface element pre-positionedproximate a holding position of the mobile device according to anexample embodiment. In one embodiment, the user interface element may bepositioned proximate previously sensed hand positions with the deviceoperating in the orientation and mode. The user interface element may bepositioned at that position when the camera mode is initially selectedwithout regard to a current hand position on the mobile device. Infurther embodiments, the user interface element may be moved after theuser holds the mobile device operating in the mode and orientation andmay be moved based on the current sensed holding information. In stillfurther embodiments, a time threshold may be used to determine when tomove the user interface element or elements. The time threshold may be anumber of seconds, such as three to five seconds for example, or otherselected time during which the user is holding the mobile device in thesame position.

FIG. 3 is a flowchart illustrating a method 300 performed by theprocessor to adjust a user interface element responsive to how a deviceis being held. At 305, method 300 begins by sensing a hand position on amobile device via sensors on the mobile device. In one embodiment, theremay be a finite number of different holding positions into which thesensed hand position may be associated. Each edge of the device may bedivided into multiple regions, such as two, three, four, or moreregions. The sensed holding position may be associated with one of theregions based on the most sensors in a region detecting the hand holdingthe mobile device. The sensed information identifying the sensed handposition may be provided to the processor of the mobile device to makethat association at 310.

At 315, a position of a user interface on a touch screen display of themobile device may be identified responsive to the informationidentifying the sensed hand position using the processor of the mobiledevice. The position may be identified using the associated region whichhas a predetermined position of the user interface assigned to theregion in one embodiment. The position may be assigned such that theuser interface is positioned proximate the hand holding the device andis easy to reach in some embodiments. Once the position is identified,the user interface display position on the mobile device is adjusted ormoved at 320 to the identified position using the processor of themobile device.

In further embodiments, the hand position may be represented as a lengthalong a side or sides of the device, and the identified position may becalculated based on the length. For instance, a device is usually heldwith the thumb in near the upper portion of such a line. In such a case,the identified position may be ⅓^(rd) of the distance of the line fromthe top of the line, or in the middle of the line, or some otherselected proportion of the line, and offset from the edge of the displaya selected distance to enable easy selection by a thumb of the handholding the mobile device.

In still further embodiments, the position of a finger above the displaymay also be used to adjust a position of a user interface element. At310, the processor may also optionally be provided informationidentifying the sensed finger position to the processor of the mobiledevice. At 315, identifying a position of a user interface is furtheroptionally responsive to the information identifying the sensed fingerposition.

In one embodiment, at 325 an active touch zone of the user interface maybe modified responsive to adjusting a user interface display position.In one embodiment, the active touch zone is reduced in size, such thatselection of the user interface is recognized over a smaller area on thedisplay. The user may be more precise in touching the screen toaccomplish selection of the interface. In further embodiments, method300 may further include tracking historic holding patterns for a user ofthe mobile device. Adjusting the user interface display position on themobile device may also be responsive to the sensed hand position andincludes adjusting the user interface display position based on thetracked historic holding patterns prior to a user holding the device.

FIG. 4A is a block diagram depiction of a user holding a mobile device400 that is displaying text 405. The text may be generated by a bookapplication, a messaging application, a web site, a word processingapplication or any other application in various embodiments. Readingbuttons 410 and 415 to scroll text in different directions are providedby the application. The reading buttons 410 and 415 may be page up andpage down applications or may simply scroll text up or down, or left orright in different embodiments. As shown, the reading buttons 410 and415 are virtual reading buttons or other user selectable interfaceelements that are positioned proximate a left hand 420 and a right hand425, both of which having positions which may be sensed by the mobiledevice 400 array of sensors.

FIG. 4B is a block diagram depiction of the user holding the mobiledevice 400 that is displaying the same text 405. However, the device 400is now being held only by the left had 420. The single hand holdingposition has been sensed, and the positions of the interface elements,reading buttons 410, 415, have now been moved proximate the position ofthe left hand 420 such that they are easily selectable by a finger, suchas a thumb 430 of the left hand. Note also, that the movement of theinterface elements has resulted in a reformatting of the text such thatthe interface elements do not cover any text. In this embodiment, theinterface elements are positioned in a column next to or proximate tothe position of the hand. Such a column orientation of the userinterface elements facilitates easy selection by the thumb 430. Tofacilitate reformatting of the text, the processor is aware of the spaceavailable following adjustment of the positioning of the interfaceelements, and can easily reformat the text accordingly. Suchreformatting functions are included in many word processing and browserprograms which are executable by the processor.

FIGS. 5A, 5B, and 5C are block diagram representations of a device 500being held by a single hand 505 at different positions 510, 515, and 520on a side 520 of the device 500. A user interface element comprising amenu wheel 530 is shown tracking along with the hand positions tofacilitate ease of use of the menu wheel 530 regardless of the handposition. Note that in the case of using regions to categorize handpositions, three such regions may be used in FIGS. 5A, 5B, and 5C. Inthe case of simply algorithmically selecting proximate user interfaceelement positions corresponding to sensed hand positions, similarresults may be obtained, but may result in more positions depending onactual positioning of the hand. Such selection also may result in a moreconsistent feel for a user, as the user interface will more consistentlybe in the same position relative to the hand position on the device 500.

FIG. 6 is a block diagram representation of a device 600 showing heatmaps corresponding to historical holding patterns. A heat map is arepresentation of a number of occurrences of different hand positions onthe device 600. A frequency of the holding positions is illustrated bythe heat map. In FIG. 6, heat map 610 illustrates the occurrences ofholding the device by the left hand of a user, and heat map 615illustrates the occurrences of holding the device by the right hand ofthe user. The shading of the heat map illustrates two “hot” areas 620and 625 for the left hand, and one “hot” area 630 for the right hand. Itappears that the hot area 620 is slightly larger than hot area 625,meaning that the user more frequently holds device 600 with the lefthand positioned a little less than halfway up the display.

A center of the hot spots may be calculated using averages of the handpositions over a selected period of time or selected number ofmeasurements such as 100, or other selected number. In some embodiments,hand position information may be provided by the sensor array every fewseconds or other selectable interval. More recent information may beweighted more heavily in some embodiments. The hot spot 630 shows thatthe user consistently holds the device with the right hand in the lowerleft side of the device 600.

FIGS. 7A and 7B illustrate heat maps for a device 700 held in portraitorientation as opposed to the landscape orientation of device 600. Theleft side 710 of the device 700 is longer in portrait orientation,resulting in an example left hand position heat map 712 having three hotareas 715, 720, and 725. The right side 730 of the device 700 has a lesshot, hot area 735 corresponding to the right hand positions, which isgenerally lower on the right side 730 of the device 700.

FIG. 7B illustrates example user interface elements 740 and 745positioned near the most likely holding positions by the left and righthands as calculated from the heat maps.

FIG. 8A illustrates different types of heat maps that are based onattempted selections of the user interface elements 740 and 745. A heatmap 810 illustrates positions of the display that are touched inattempts to select interface element 740. Most of the touches correspondwell with the position of interface element 740. Heat map 815illustrates positions of the display that were touched in attempts toselect interface element 745. Note that the heat map 815 appears to beshifted upward and inward from the actual position of interface element745.

FIG. 8B illustrates an adjusted position of one or more of the interfaceelements. Since heat map 815 appeared shifted upward and inward from thefirst selected position of interface element 745, the interface elementhas been shifted upward to the center of the hot area of the heat map815 as indicated at 820. The heat maps may continue to be generated andused to further adjust positions.

FIG. 9 is a table illustrating one example data structure 900 stored ona computer readable storage device for use by a processor to adjust userinterface elements responsive to sensed hand positions. Data structure900 is represented as a table, but may also be stored as a relationaldatabase structure in further embodiments. The table may be used by theprocessor using the sensed information about the hand positions on themobile device to obtain locations for interface elements.

A first column 910 may be used to track a context of the mobile device,such as a mode or executing application. The mode may include a cameramode, which may also be thought of as an executing application. Otherapplications may include browsers, games, word processors, emailapplications, spreadsheets, and numerous apps available via an app storeor other source. The mode may also include a text reading mode, whichmay be representing by the term text, or a correlated code if desired.

A second column 920 includes position information corresponding to aleft hand holding the device. A third column 930 may include positioninformation corresponding to a right hand holding the device. A fourthcolumn 940 may include device orientation, such as portrait orlandscape. A fifth column may be used for denoting a user interfaceelement and corresponding position given the sensed data matching theinformation in the other columns of a row. In table 900, the userinterface is identified by a letter. “A” corresponds to a user interfaceelement to capture a picture in camera mode, and “B” corresponds to atext navigation user interface element. The user interface elementposition (UE POSITION) is denoted as coordinates on the display:“XXX.YYY”, which may represent different coordinates for different rowsin the table. The user interface element and position may have separatecolumns, and multiple additional columns may be used for additional userinterface elements which may have positions adjusted.

Note that several rows of the table may be used for each applicationcorresponding to different hands and orientations. When determining auser interface element position based on current hand position, theremay also be several rows, each corresponding to a different region asdiscussed previously. Note also that in some embodiments, the userinterface position may be determined based on an algorithm depending onwhere the device is currently being held. In that case, the fifth columnmay contain the algorithm, or a pointer to the algorithm which utilizesdata in one or more of the other columns in the row. Further columns maybe provided, such as for example a column corresponding to the sensedfinger position described with respect to FIG. 2B above. Additionalcolumns may be provided for further user interface elements,

In some embodiments, the hand position information may represent a hotarea defined by historical occurrences as a function of frequency andtime holding the device, also referred to as the heat map.

FIG. 10 is a flowchart illustrating a method 1000 executed by the mobiledevice. At 1010, method 1000 periodically senses user hand positions ona mobile device having a touch screen display while the user is holdingthe mobile device. A heat map indicative of frequency of hand positionsis generated at 1020 for each application executing on the mobiledevice. At 1030, the device identifies user interface elements for anapplication currently executing on the mobile device. At 1040, aposition of a user interface element of the currently executingapplication on the touch screen is adjusted responsive to the heat map.The heat map for the currently executing application may include a heatmap for each hand of the user. Adjusting a position of a user interfaceelement at 1040 may include adjusting the positions of two userinterface elements to respective positions responsive to the heat mapfor each hand of the user. In one embodiment, adjusting a position ofthe user interface element of the currently executing application isperformed responsive to a selection of the application for execution bythe user of the mobile device.

FIG. 11 is a block schematic diagram of a computer system 1100 toimplement the processor and memory of the mobile device, as well asexecuting methods according to example embodiments. All components neednot be used in various embodiments. One example computing device in theform of a computer 1100, may include a processing unit 1102, memory1103, removable storage 1110, and non-removable storage 1112. Althoughthe example computing device is illustrated and described as computer1100, the computing device may be in different forms in differentembodiments. For example, the computing device may instead be asmartphone, a tablet, smartwatch, or other computing device includingthe same or similar elements as illustrated and described with regard toFIG. 11. Devices such as smartphones, tablets, and smartwatches aregenerally collectively referred to as mobile devices. Further, althoughthe various data storage elements are illustrated as part of thecomputer 1100, the storage may also or alternatively include cloud-basedstorage accessible via a network, such as the Internet.

Memory 1103 may include volatile memory 1114 and non-volatile memory1108. Computer 1100 may include—or have access to a computingenvironment that includes—a variety of computer-readable media, such asvolatile memory 1114 and non-volatile memory 1108, removable storage1110 and non-removable storage 1112. Computer storage includes randomaccess memory (RAM), read only memory (ROM), erasable programmableread-only memory (EPROM) & electrically erasable programmable read-onlymemory (EEPROM), flash memory or other memory technologies, compact discread-only memory (CD ROM), Digital Versatile Disks (DVD) or otheroptical disk storage, magnetic cassettes, magnetic tape, magnetic diskstorage or other magnetic storage devices capable of storingcomputer-readable instructions for execution to perform functionsdescribed herein.

Computer 1100 may include or have access to a computing environment thatincludes input 1106, output 1104, and a communication connection 1116.Output 1104 may include a display device, such as a touchscreen, thatalso may serve as an input device. The input 1106 may include one ormore of a touchscreen, touchpad, mouse, keyboard, camera, one or moredevice-specific buttons, one or more sensors integrated within orcoupled via wired or wireless data connections to the computer 1100, andother input devices. The computer may operate in a networked environmentusing a communication connection to connect to one or more remotecomputers, such as database servers, including cloud based servers andstorage. The remote computer may include a personal computer (PC),server, router, network PC, a peer device or other common network node,or the like. The communication connection may include a Local AreaNetwork (LAN), a Wide Area Network (WAN), cellular, WiFi, Bluetooth, orother networks.

Computer-readable instructions stored on a computer-readable storagedevice are executable by the processing unit 1102 of the computer 1100.A hard drive, CD-ROM, and RAM are some examples of articles including anon-transitory computer-readable medium such as a storage device. Theterms computer-readable medium and storage device do not include carrierwaves. For example, a computer program 1118 capable of providing ageneric technique to perform access control check for data access and/orfor doing an operation on one of the servers in a component object model(COM) based system may be included on a CD-ROM and loaded from theCD-ROM to a hard drive. The computer-readable instructions allowcomputer 1100 to provide generic access controls in a COM based computernetwork system having multiple users and servers.

EXAMPLES

1. A method comprising:

-   -   sensing a hand position on a mobile device via sensors on the        mobile device;    -   providing information identifying the sensed hand position to a        processor of the mobile device;    -   identifying a position of a user interface on a touch screen        display of the mobile device responsive to the information        identifying the sensed hand position using the processor of the        mobile device; and    -   adjusting a user interface display position on the mobile device        to the identified position using the processor of the mobile        device.

2. The method of example 1 wherein sensing a hand position comprisessensing the mobile device is being held on one side of the mobile deviceby one hand, and wherein adjusting the user interface display positioncomprises moving user interface page up and page down buttons to the oneside of the mobile device.

3. The method of example 2 wherein the user interface page up and pagedown buttons are moved proximate the hand holding the side of the mobiledevice such that the buttons are easily selectable by the hand holdingthe side of the mobile device.

4. The method of any of examples 1-3 wherein sensing a hand positioncomprises sensing the mobile device is being held on both sides of themobile device by two hands, and wherein adjusting the user interfacedisplay position comprises moving user interface page up and page downbuttons to both sides of the touch screen proximate where the hands areholding the mobile device.

5. The method of any of examples 1-4 wherein sensing a hand positioncomprises sensing the mobile device is being held on one side of themobile device by only one hand and wherein adjusting the user interfacedisplay position comprises moving a user interface proximate theposition of the hand on the one side of the mobile device to facilitateuse of the user interface without moving the hand.

6. The method of any of examples 1-5 and further comprising:

-   -   sensing a position of a finger above the touchscreen display;    -   providing information identifying the sensed finger position to        the processor of the mobile device; and    -   wherein identifying a position of a user interface is further        responsive to the information identifying the sensed finger        position.

7. The method of example 6 wherein sensing a position of a finger abovethe touchscreen is performed by magnetic field disruption detection.

8. The method of example 6 wherein sensing a position of a finger abovethe touchscreen is performed by processing images provided by a cameraof the mobile device.

9. The method of any of examples 1-8 and further comprising reducing anactive touch zone of the user interface responsive to adjusting a userinterface display position.

10. The method of any of examples 1-9 and further comprising:

-   -   tracking historic holding patterns for a user of the mobile        device; and    -   wherein adjusting the user interface display position on the        mobile device responsive to the sensed hand position includes        adjusting the user interface display position based on the        tracked historic holding patterns prior to a user holding the        device.

11. The method of example 10 wherein historic holding patterns aretracked for each application and wherein the user interface displayposition is adjusted for an application based on the historic holdingpatterns for the application using a table correlating the holdingpatterns to applications and user interface display positions.

12. The method of example 10 wherein tracking historic holding patternscomprises:

-   -   periodically storing information identifying the sensed hand        position;    -   generating a heat map identifying frequency of occurrence of        each sensed hand position, wherein a separate heat map is        generated for each application executing on the mobile device.

13. The method of example 12 wherein the identified position isidentified responsive to the heat maps.

14. A method comprising:

-   -   periodically sensing user hand positions on a mobile device        having a touch screen display while the user is holding the        mobile device;    -   generating a heat map indicative of frequency of hand positions        for each application executing on the mobile device;    -   identifying a user interface element for an application        currently executing on the mobile device; and    -   adjusting a position of the user interface element of the        currently executing application on the touch screen responsive        to the heat map for the currently executing application.

15. The method of example 14 wherein the heat map for the currentlyexecuting application includes a heat map for each hand of the user.

16. The method of example 15 wherein adjusting a position of a userinterface element comprises adjusting the positions of two userinterface elements to respective positions responsive to the heat mapfor each hand of the user.

17. The method of any of examples 14-16 wherein adjusting a position ofthe user interface element of the currently executing application isperformed responsive to a selection of the application for execution bythe user of the mobile device.

18. A mobile computing device comprising:

-   -   a processor;    -   a sensor array supported by the mobile computing device, the        sensor array positioned to sense hand positions on the mobile        computing device by a user using the device; and    -   a memory device coupled to the processor and having instructions        stored thereon executable by the processor to:        -   receive information identifying the sensed hand positions            from the sensor array;        -   identify an adjusted position of a user interface on a touch            screen display of the mobile device responsive to the            information identifying the sensed hand positions; and        -   move a user interface display position on the mobile device            to the identified adjusted position.

19. The mobile computing device of example 18 wherein the instructionsare executable by the processor to:

-   -   receive information identifying a sensed finger position to the        processor of the mobile device; and    -   wherein identifying an adjusted position of a user interface is        further responsive to the information identifying the sensed        finger position.

20. The mobile computing device of any of examples 18-19 wherein theinstructions are executable by the processor to:

-   -   track historic holding patterns for a user of the mobile device;        and    -   wherein identifying an adjusted position of the user interface        responsive to the sensed hand position includes identifying the        adjusted position responsive to the tracked historic holding        patterns prior to a user holding the device.

Although a few embodiments have been described in detail above, othermodifications are possible. For example, the logic flows depicted in thefigures do not require the particular order shown, or sequential order,to achieve desirable results. Other steps may be provided, or steps maybe eliminated, from the described flows, and other components may beadded to, or removed from, the described systems. Other embodiments maybe within the scope of the following claims.

The invention claimed is:
 1. A method comprising: sensing a handposition of a user on a mobile device via a sensor array comprising amultiplicity of sensors on a housing of the mobile device, providinginformation identifying the sensed hand position to a processor of themobile device; identifying a position of a user interface on a touchscreen display of the mobile device responsive to the informationidentifying the sensed hand position using the processor of the mobiledevice; adjusting a user interface display position on the mobile deviceto the identified position using the processor of the mobile device;tracking historic holding patterns for the user of the mobile device;applying weights to emphasize more recent holding pattern information;wherein adjusting the user interface display position on the mobiledevice responsive to the sensed hand position includes adjusting theuser interface display position based on the weighted historic holdingpatterns prior to a user holding the device, wherein tracking historicholding patterns comprises: periodically storing information identifyingthe sensed hand position; generating a holding pattern heat mapidentifying frequency of occurrence of each sensed hand position,wherein a separate holding pattern heat map is generated for eachapplication executing on the mobile device; tracking historic attemptedselections of user interface elements on the touch screen; generating atouch screen interaction heat map for one of the user interfaceelements; and shifting a position of the one of the user interfaceelements on the touch screen responsive to the touch screen interactionheat map.
 2. The method of claim 1 further comprising displaying aportion of a block of text in a text reading mode, wherein sensing ahand position comprises sensing the mobile device is being held on oneside of the mobile device by one hand, and wherein adjusting the userinterface display position comprises moving existing user interface pageup and page down buttons to the one side of the mobile device to enablenavigation up or down through the block of text.
 3. The method of claim2 wherein the user interface page up and page down buttons are movedproximate the hand holding the side of the mobile device.
 4. The methodof claim 1 further comprising displaying a portion of a block of text ina text reading mode, wherein sensing a hand position comprises sensingthe mobile device is being held on both sides of the mobile device bytwo hands, and wherein adjusting the user interface display positioncomprises moving user interface page up and page down buttons to bothsides of the touch screen proximate where the hands are holding themobile device to enable navigation up or down through the block of text.5. The method of claim 1 wherein sensing a hand position comprisessensing the mobile device is being held on one side of the mobile deviceby only one hand and wherein adjusting the user interface displayposition comprises moving a user interface proximate the position of thehand on the one side of the mobile device to facilitate use of the userinterface without moving the hand.
 6. The method of claim 1 and furthercomprising: sensing a position of a finger above the touchscreendisplay; providing information identifying the sensed finger position tothe processor of the mobile device; and wherein identifying a positionof a user interface is further responsive to the information identifyingthe sensed finger position.
 7. The method of claim 6 wherein sensing aposition of a finger above the touchscreen is performed by magneticfield disruption detection.
 8. The method of claim 6 wherein sensing aposition of a finger above the touchscreen is performed by processingimages provided by a plurality of cameras of the mobile device, theplurality of cameras including a first camera above the touch screendisplay and a second camera below the touch screen display.
 9. Themethod of claim 1 and further comprising reducing an active touch zoneof the user interface responsive to adjusting a user interface displayposition.
 10. A mobile computing device comprising: a processor; asensor array supported by the mobile computing device, the sensor arraypositioned to sense hand positions on a housing of the mobile computingdevice and user selections of interface elements on a touchscreen on themobile computing device by a user using the device; and a memory devicecoupled to the processor and having instructions stored thereonexecutable by the processor to: receive information identifying thesensed hand positions from the sensor array; identify an adjustedposition of a selectable user interface display on a touch screendisplay of the mobile device responsive to the information identifyingthe sensed hand positions; and move a user interface display positionfor the selectable user interface display on the mobile device to theidentified adjusted position; tracking historic holding patterns for theuser of the mobile device; applying weights to emphasize more recentholding pattern information; wherein adjusting the user interfacedisplay position on the mobile device responsive to the sensed handposition includes adjusting the user interface display position based onthe weighted historic holding patterns prior to a user holding thedevice, wherein tracking historic holding patterns comprises:periodically storing information identifying the sensed hand position;generating a holding pattern heat map identifying frequency ofoccurrence of each sensed hand position; tracking historic attemptedselections of user interface elements on the touch screen; generating atouch screen interaction heat map for one of the user interfaceelements; and shifting a position of the one of the user interfaceelements on the touch screen responsive to the touch screen interactionheat map.